查看原文
其他

Cobar的十个秘密之一

2016-06-09 IT哈哈

第一个秘密:Cobra会假死?

是的,很多人遇到这个问题。如何来验证这点呢?可以做个简单的小实验,假如你的分片表中配置有表company,则打开mysql终端,执行下面的SQL:


select sleep(500) from company;


此SQL会执行等待500秒,你再努力以最快的速度打开N个mysql终端,都执行相同的SQL,确保N>当前Cobra的执行线程数: 


show @@threadpool


的所有Processor1-E的线程池的线程数量总和,然后你再执行任何简单的SQL,或者试图新建立连接,都会无法响应,此时 


show @@threadpool


里面看到TASK_QUEUE_SIZE已经在积压中。 

不可能吧,据说Cobra是NIO的非阻塞的,怎么可能阻塞!别激动,去看看代码,Cobra前端是NIO的,而后端跟Mysql的交互,是阻塞模式,其NIO代码只给出了框架,还未来得及实现。真相永远在代码里,所以,为了发现真相,还是转行去做码农吧!貌似码农也像之前的技术工人,越来越稀罕了。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存